Compensations in an Imperative Programming Language
نویسندگان
چکیده
Numerous mechanisms are used to deal with failure of systems or processes, one of which is that of compensating actions. A compensation can be seen as a program which somehow cancels out the effects of another — and by organising code in such a way so as to associate each program with its compensation, enables implicit recovery to a sane state if part of a computation somehow fails. In this paper we present an imperative programming language natively supporting the notion of compensations, thus enabling the programmer to program using a notion of compensations at the source level of the system under development.
منابع مشابه
Monitor-Oriented Compensation Programming Through Compensating Automata
Compensations have been used for decades in areas such as flow management systems, long-lived transactions and more recently in the service-oriented architecture. Since compensations enable the logical reversal of past actions, by their nature they crosscut other programming concerns. Thus, intertwining compensations with the rest of the system not only makes programs less well-structured, but ...
متن کاملImplementing Constraint Imperative Languages with Higher-order Functions
Constraint imperative programming languages combine declarative constraints and imperative language features into an integrated programming language. The language Turtle supports these programming paradigms and additionally integrates functional programming with higher-order functions and algebraic data types. This paper describes the implementation of Turtle, consisting of a compiler, a run-ti...
متن کاملA Typed Approach to Layered Programming Language DesignShail
We investigate the design of a powerful type system for a polymorphic, functional programming language with an imperative kernel. The proposed type system has the power to transparently encapsulate an imperative implementation of a functional construct into a sound, polymorphic, functional abstraction. Thus, it facilitates a layered approach to language design by allowing arbitrary, high-level,...
متن کاملSemantical Considerations for a Logic of Actions: An Imperative Manifesto
This paper proposes an imperative semantics for a logic of actions: through their axiomatisations, actions are interpreted as programs in an imperative programming language. An argument is made for the naturalness of imperative interpretations of actions, and an assessment of the application of this semantics is conducted.
متن کاملcT: An Imperative Language with Parallelizing Features Supporting the Computation Model "Autotransformation of the Evaluation Network"
In this paper we present the programming language cT, intended for the development of portable software for multiprocessors in the environment supporting the computation model \autotransformation of evaluation network". The language was designed as an extension of C programming language with the new language primitives that represent the notions of the computation model. As a result, there was ...
متن کامل